package com.zmn.oms.business.interfaces.callpop;

import com.zmn.oms.common.exception.OmsBaseException;
import com.zmn.oms.model.dto.log.CallRecordLogDTO;
import com.zmn.oms.model.vo.call.CallRecordVO;

import java.util.Date;
import java.util.List;

/**
 * 类描述：通话记录
 *
 * @author lujia
 * @date 2019/02/19 16:01
 */
public interface CallRecordBService {

    /**
     * 获取小号通话记录集合
     *
     * @param workId
     * @return
     */
    List<com.zmn.oms.model.vo.work.CallRecordVO> listXnoCallRecordByWorkId(Long workId);

    /**
     * 获取通话记录集合
     *
     * @param phone
     * @param startTime
     * @param endTime
     * @return
     */
    List<CallRecordVO> listCallRecordByPhone(String phone, Date startTime, Date endTime);

    /**
     * 处理小号通话记录log
     *
     * @param callRecordLogDTO
     * @return
     */
    void processXNORecordLog(CallRecordLogDTO callRecordLogDTO);

    /**
     * 处理小号通话结果log
     *
     * @param callRecordLogDTO
     * @return
     */
    void processXnoContactTag(CallRecordLogDTO callRecordLogDTO) throws OmsBaseException;

    /**
     * 处理通话记录log
     *
     * @param callRecordLogDTO
     * @return
     */
    void processNormalRecordLog(CallRecordLogDTO callRecordLogDTO);

    /**
     * 从CC查询通话记录
     *
     * @param callRecordId
     * @return
     */
    @Deprecated
    com.zmn.oms.model.vo.work.CallRecordVO getCallRecordFromCCByCallRecordId(String callRecordId);

    /**
     * 从cc查询通话记录
     *
     * @param sysStr :OMS
     * @param orderId
     * @return
     */
    @Deprecated
    List<com.zmn.oms.model.vo.work.CallRecordVO> getCallRecordFromCCByOrderId(String sysStr, Long orderId);

    /**
     * 查询催单通话记录
     *
     * @param orderId
     * @return
     */
    List<com.zmn.oms.model.vo.work.CallRecordVO> queryRemindRecords(Long orderId);


}
